<template>
    <div class="MyPagination">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="$props.pageOption.current_page"
          :page-sizes="$props.pageOption.page_sizes"
          :page-size="$props.pageOption.page_size"
          :layout="$props.pageOption.layout"
          :background='$props.pageOption.background'
          :total="$props.pageOption.total">
        </el-pagination>
    </div>
</template>
<script>
export default {
    name:'MyPagination',
    props:{
        pageOption:{
            type:Object
        }
    },
    data() {
        return {
        }
    },
    methods: {
      //切换每页
      handleSizeChange(val) {
        //console.log(`每页 ${val} 条`);
         //用户
        if(this.$route.path==='/users'){
          //修改每页显示页数
         this.$store.commit('users/CHANGE_PAGESIZE',val)  
         //获取用户列表
         this.$store.dispatch('users/Acs_getUserList')
          .then(res=>{
            let {total,users}=res;
            //修改总页数
            this.$store.commit('users/CHANGE_TOTAL',total);
            //存储总的用户列表
            this.$store.commit('users/CHANGE_USERS',users);
            }).catch(err=>{console.log(err);})
        };
        //商品
        if(this.$route.path==='/goods'){
          //修改每页显示页数
          this.$store.commit('goods/CHANGE_PAGESIZE',val)  
          //获取商品列表
          this.$store.dispatch('goods/Acs_getGoods')
          .then(res=>{
            let {total,goods}=res;
            //修改总页数
            this.$store.commit('goods/CHANGE_TOTAL',total);
            //存储总的商品列表
            this.$store.commit('goods/CHANGE_GOODS',goods);
            }).catch(err=>{console.log(err);})
        };
        //分类
        if(this.$route.path==='/categories'){
          //console.log(val);
          //修改每页显示页数
          this.$store.commit('categorie/CHANGE_PAGESIZE',val);
          //获取分类列表
          this.$store.dispatch('categorie/Acs_getCategories')
          .then(res=>{
            //修改总页数
            this.$store.commit('categorie/CHANGE_TOTAL',res.length);
            //存储总的商品列表
            this.$store.commit('categorie/CHANGE_CATEGORIES_DATA',res.slice(0,val))
            }).catch(err=>{console.log(err);})  
        }
        //订单
        if(this.$route.path==='/orders'){
          //修改每页显示页数
          this.$store.commit('orders/CHANGE_PAGINATION',{pagesize:val})  
          //获取商品列表
          this.$store.dispatch('orders/Acs_getOrders',this.$store.state.orders.pagination)
          .then(res=>{
            //修改总页数
            let {total,goods}=res;
            this.$store.commit('orders/CHANGE_PAGINATIONDATA',{total});
            //存储总的商品列表
            this.$store.commit('orders/CHANGE_PAGINATIONDATA',{goods});
            }).catch(err=>{console.log(err);})
        }
      },
      handleCurrentChange(val) {
        //console.log(`当前页: ${val}`);
        //用户
        if(this.$route.path==='/users'){
          //修改当前页
          this.$store.commit('users/CHANGE_PAGENUM',val)  
         //获取所有的用户列表
          this.$store.dispatch('users/Acs_getUserList')
          .then(res=>{
            let {total,users}=res;
            //修改总页数
            this.$store.commit('users/CHANGE_TOTAL',total);
            //存储总的用户列表
            this.$store.commit('users/CHANGE_USERS',users);
            }).catch(err=>{console.log(err);})
        };
        //商品
        if(this.$route.path==='/goods'){
          //修改当前页
          this.$store.commit('goods/CHANGE_PAGENUM',val) 
          //获取所有的商品列表 
          this.$store.dispatch('goods/Acs_getGoods')
          .then(res=>{
            let {total,goods}=res;
            //修改总页数
            this.$store.commit('goods/CHANGE_TOTAL',total);
            //存储总的商品列表
            this.$store.commit('goods/CHANGE_GOODS',goods);
            }).catch(err=>{console.log(err);})
        };

        //分类
        if(this.$route.path==='/categories'){
          this.$store.commit('categorie/CHANGE_PAGENUM',val);
          console.log();
          //获取分类列表
          let data={...this.$store.state.categorie.pagination};
          //console.log();
          this.$store.dispatch('categorie/Acs_getCategories',data)
          .then(res=>{
            //修改总页数
            this.$store.commit('categorie/CHANGE_TOTAL',res.length);
            }).catch(err=>{console.log(err);})
        }


        //订单
        if(this.$route.path==='/orders'){
          //修改每页显示页数
          this.$store.commit('orders/CHANGE_PAGINATION',{pagenum:val})  
          //获取商品列表
          this.$store.dispatch('orders/Acs_getOrders',this.$store.state.orders.pagination)
          .then(res=>{
            //修改总页数
            let {total,goods}=res;
            this.$store.commit('orders/CHANGE_PAGINATIONDATA',{total});
            //存储总的商品列表
            this.$store.commit('orders/CHANGE_PAGINATIONDATA',{goods});
            }).catch(err=>{console.log(err);})
        }
      }
    },
}
</script>
<style lang="scss" scoped>
    .MyPagination{
        margin-top: 20px;
    }
</style>